﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Novapangeia.Dominio;

namespace Novapangeia.Web
{
    public class CustomHtmlHelper
    {
        public string DivTropas(Usuario u)
        {
            string script = ScriptTropas(u);
            string tag = "<div Id=\"divTropas\">";

            foreach (Tropa t in u.tropas) 
            {
                tag += "<div class=\"" + CssClassDivTropa(t.Guarda) + "\">";
                tag += expandBtn(t);
                tag += colapseBtn(t);
                tag += lblTropa(t);
                tag += divTropa(t);
                tag += "</div>";
            }
            tag += "</div>";
            return script + tag;
        }
        protected string ScriptTropas(Usuario u)
        {
            string tag = "<script type=\"text/javascript\"> $(document).ready(function(){";
            foreach (Tropa t in u.tropas)
            {
                tag += "$(\"#";
                tag += GuiIdExpandBtn(t);
                tag += "\").click(function(){$(\"#";
                tag += GuiIdDivTropa(t);
                tag += "\").show(1000);});";

                tag += "$(\"#";
                tag += GuiIdColapseBtn(t);
                tag += "\").click(function(){$(\"#";
                tag += GuiIdDivTropa(t);
                tag += "\").hide(1000);});";
            }
            tag += "});</script>";
            return tag;
        }
        protected string GuiIdDivTropa(Tropa t)
        {
            return "divTropa" + t.Id;
        }
        protected string GuiIdLblTropa(Tropa t)
        {
            return "lblTropa" + t.Id;
        }
        protected string GuiIdColapseBtn(Tropa t) 
        {
            return "colapseTropa" + t.Id;
        }
        private string GuiIdExpandBtn(Tropa t)
        {
            return "expandTropa" + t.Id;
        }
        protected string CssClassDivTropa(bool guarda) 
        {
            if (guarda)
            {
                return "divTropaGuarda";
            }
            return "divTropaNormal";
        }
        private string divTropa(Tropa t) 
        {
            int TotalUnidades = 0;
            string tag = "<div Id=\""+GuiIdDivTropa(t)+"\" visible=\"false\">";
            tag += "<table border=\"1\">";
            tag += "<tr>";
            tag += "<td class=\"CellUnidadeHeader\">Tipo</td>";
            tag += "<td class=\"CellUnidadeHeader\">Atq</td>";
            tag += "<td class=\"CellUnidadeHeader\">Def</td>";
            tag += "<td class=\"CellUnidadeHeader\">Vit</td>";
            tag += "<td class=\"CellUnidadeHeader\">Agi</td>";
            tag += "<td class=\"CellUnidadeHeader\">Qtd</td>";
            tag += "</tr>";

            foreach (Unidade u in t.Unidades) 
            {
                tag += "<tr>";
                tag += "<td class=\"CellUnidadeInfo\">" + u.tipo.Nome + "</td>";
                tag += "<td class=\"CellUnidadeInfo\">" + u.tipo.Ataque + "</td>";
                tag += "<td class=\"CellUnidadeInfo\">" + u.tipo.Defesa + "</td>";
                tag += "<td class=\"CellUnidadeInfo\">" + u.tipo.Vitalidade + "</td>";
                tag += "<td class=\"CellUnidadeInfo\">" + u.tipo.Iniciativa + "</td>";
                tag += "<td class=\"CellUnidadeInfo\">" + u.Quantidade + "</td>";
                tag += "</tr>";

                TotalUnidades += u.Quantidade;
            }

            tag += "</table>";
            tag += "</ br> <a>Total de soldados: " + TotalUnidades + "</a>";
            tag += "</div>";
            return tag;
        }
        private string lblTropa(Tropa t) 
        {
            string tag = "<div Id=\"" + GuiIdLblTropa(t) + "\" class=\"labeltropa\">";
            tag += t.Nome;
            tag += "</div>";
            return tag;
        }
        private string colapseBtn(Tropa t) 
        {
            string tag = "<div Id=\"" + GuiIdColapseBtn(t)+"\" class=\"colapseBtn\">";
            tag+= "</div>";
            return tag;
        }
        private string expandBtn(Tropa t)
        {
            string tag = "<div Id=\"" + GuiIdExpandBtn(t) + "\" class=\"expandBtn\">";
            tag += "</div>";
            return tag;
        }


    }
}